// ViewFrustum.h
//
//////////////////////////////////////////////////////////////////////

#ifndef __VIEWFRUSTUM_H
#define __VIEWFRUSTUM_H

#include "Plane.h"
#include "Camera3D.h"

class ViewFrustum{
public:
	ViewFrustum(int numpts=4);
	~ViewFrustum();
	
	void Init(int numpts);
	void Update(Camera3D* Cam, Matrix3D camTransform);
	int EdgeIntersect(Point3D Start, Point3D End) const;

public:	
	Point3D * sPts;   
	Point3D * NearPts;
	int NumSides;     
	Plane * Planes;   
	int NumPlanes;    
	#ifdef FARPLANEON
	Point3D * FarPts; 
	#else
	Vector3D * ProjDirs;
	#endif
};

#endif


